<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta content="en" name="language">
	<title>GraphicsMagick ChangeLog - 2009</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link media="screen" href="docutils-articles.css" type="text/css" rel="stylesheet">

</head>

<body>

<div class="banner">
<img src="images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" />
<span class="title">GraphicsMagick</span>
<form action="http://www.google.com/search">
  <input type="hidden" name="domains" value="www.graphicsmagick.org" />
  <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" />
<span class="nowrap"><input type="text" name="q" size="25" maxlength="255" />&nbsp;<input type="submit" name="sa" value="Search" /></span>
</form>
</div>


<div class="navmenu">
<ul>
  <li><a href="index.html">Home</a></li>
  <li><a href="project.html">Project</a></li>
  <li><a href="download.html">Download</a></li>
  <li><a href="README.html">Install</a></li>
  <li><a href="Hg.html">Source</a></li>
  <li><a href="NEWS.html">News</a> </li>
  <li><a href="utilities.html">Utilities</a></li>
  <li><a href="programming.html">Programming</a></li>
  <li><a href="reference.html">Reference</a></li>
</ul>
</div>

<main id="graphicsmagick-changelog-2009">
<h1 class="title">GraphicsMagick ChangeLog - 2009</h1>
<p>2009-12-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/unix_port.c (MagickSpawnVP): Remove unneeded new line
character in error message format.</p></li>
<li><p>Magick++/Makefile.am: Allow Magick++ to be built as a shared
library under MinGW and Cygwin.  This requires a modern GCC in
order for C++ exceptions to work.</p></li>
<li><p>utilities/tests/annotate.sh: MSYS is garbeling up draw command
so use a command file rather than using command line.</p></li>
<li><p>coders/{fits.c,meta.c,locale.c}: Fix benign warnings noticed
under Cygwin 1.7.</p></li>
<li><p>magick/{constitute.c,resource.c,utility.c}: Fix benign warnings
noticed under Cygwin 1.7.</p></li>
</ul>
</blockquote>
<p>2009-12-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/module.c (DestroyModuleInfo): If the Jasper library is
used, then we can't invoke lt_dlexit() because this unloads the
Jasper library and Jasper sometimes registers an atexit() cleanup
handler.  Unfortunately, this may annoy memory leak checkers.</p></li>
<li><p>coders/jp2.c: Defer Jasper initialization to point of use.</p></li>
</ul>
</blockquote>
<p>2009-12-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/magick_wand.c (MagickCdlImage): New method to apply the ASC
CDL to an image.
(MagickHaldClutImage): New method to apply a Hald CLUT to an image.</p></li>
</ul>
</blockquote>
<p>2009-12-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/studio.h atof(), atoi(), and atol() are legacy functions
which might not be thread safe, might not enforce reasonable
limits, and should not be used for new code.  So we implement them
via strtod() and strtol().</p></li>
</ul>
</blockquote>
<p>2009-12-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/magick_wand.c (MagickGetImageBoundingBox): New method to
return the crop bounding box required to remove any solid-color
border from the image.
(MagickGetImageFuzz/MagickSetImageFuzz): New methods to get and
set the color comparison fuzz factor</p></li>
<li><p>wand/pixel_wand.c (ClonePixelWand): New method to deep-copy an
existing pixel wand.
(ClonePixelWands): New method to deep-copy an array of existing
pixel wands.</p></li>
<li><p>wand/magick_wand.c (MagickSetResolution): New method to set the
wand resolution.  This one also works before the image has been
read (unlike MagickSetImageResolution()).
(MagickSetResolutionUnits): New method to set the wand resolution
units.  Use in conjunction with MagickSetResolution().  This one
also works before the image has been read (unlike
MagickSetImageUnits()).</p></li>
</ul>
</blockquote>
<p>2009-12-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Magick++/demo/demo.cpp (main): Stop using deprecated functions.</p></li>
<li><p>wand/drawtest.c: Stop using deprecated functions.</p></li>
</ul>
</blockquote>
<p>2009-12-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/module.c (ModuleAliases): J2C is supported by the JP2
coder.</p></li>
<li><p>coders/jp2.c: JP2 is now an alias for JPC since many files use
that extension.  Problem reported by Stefano Acerbetti.</p></li>
</ul>
</blockquote>
<p>2009-12-09  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: The png8 encoder would fail when trying to write
a 1-color image.  Problem reported by Bob Clark.</p></li>
</ul>
</blockquote>
<p>2009-12-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Define _GNU_SOURCE and _NETBSD_SOURCE so that
pwrite() and pread() prototypes are available under GNU Linux and
NetBSD.</p></li>
<li><p>coders/tiff.c: Warnings reduction.</p></li>
<li><p>magick/widget.c: Warnings reduction.</p></li>
<li><p>magick/segment.c (Classify): Warnings reduction.</p></li>
<li><p>magick/magic.c (struct StaticMagic): Length and offset can never
be negative so use an unsigned type rather than size_t.</p></li>
<li><p>magick/render.c (TracePath): Fix access one beyond the end of
the points array.</p></li>
</ul>
</blockquote>
<p>2009-11-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/gem.c (GetOptimalKernelWidth1D, GetOptimalKernelWidth2D):
In the Q32 build, convolution kernel size was estimated
incorrectly for large sigmas on 32-bit systems due to arithmetic
overflow.</p></li>
</ul>
</blockquote>
<p>2009-11-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/effect.c (ConvolveImage): Moved here from fx.c since this
is a more suitable place for it to be.</p></li>
<li><p>magick/enhance.c (GammaImage): Improve performance a bit.
Preserve full precision in Q32 build.</p></li>
</ul>
</blockquote>
<p>2009-11-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/{channel.c,constitute.c,nt_base.h}: Start using the C'99
<cite>restrict</cite> keyword.</p></li>
</ul>
</blockquote>
<p>2009-11-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/magick_wand.c (MagickGetImageAttribute): New method to get
an image attribute.  Patch contributed by Mikko Koppanen.
(MagickSetImageAttribute): New method to set an image attribute.
Patch contributed by Mikko Koppanen.</p></li>
<li><p>magick/constitute.c (ReadImage): Log subimage and subrange.</p></li>
<li><p>configure: Update to Autoconf 2.65.</p></li>
<li><p>magick/attribute.c (GenerateIPTCAttribute): Returned IPTC string
values were one character too short.</p></li>
</ul>
</blockquote>
<p>2009-11-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/image.c (AllocateImage): The documented shorthand for
specifying image size via filename[WIDTHxHEIGHT] was not working
for raw formats which use the image tile_info data.</p></li>
</ul>
</blockquote>
<p>2009-11-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/image.c (ParseSubImageSpecification): Try to match
behavior of previous sub-image specification parser.  Some
incantations did not produce the same results.</p></li>
<li><p>win2k/IMDisplay/res/{IMDisplay.ico, IMDisplayDoc.ico}: Replaced
with GraphicsMagick icon prepared by Jaroslav Fojtik.</p></li>
<li><p>coders/svg.c (ReadSVGImage): Use runtime initialization of
SAXModules rather than static initialization.</p></li>
<li><p>magick/command.c: Commands now support reading an image from
stdin in conjunction with a subrange specification (e.g. &quot;-[1]&quot;).
Problem was reported by Mario Becroft.</p></li>
<li><p>magick/common.h: New header file to incorporate the common bits
shared by studio.h and api.h.</p></li>
<li><p>ltdl/ltdl.c: Update libltdl to 2.2.6b in order to fix security
issue.  Resolves CVE-2009-3736 as it pertains to GraphicsMagick.</p></li>
</ul>
</blockquote>
<p>2009-11-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/constitute.c (ConstituteImage, DispatchImage): <cite>A</cite> and
<cite>T</cite> should indicate transparency and <cite>O</cite> should indicate opacity.
Behavior was inconsistent.  In some cases <cite>O</cite> meant transparency
while in other cases it meant opacity. Also, in a few cases, matte
was not getting enabled in the image as it should.  Problems were
reported by Scott Kuhl.</p></li>
</ul>
</blockquote>
<p>2009-11-10  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Also suppress new pedantic warnings from most
older libpng-1.4.0 betas.</p></li>
<li><p>coders/png.c: Added a warning when attempting to use libpng-1.4beta
older than 1.4.0beta67.</p></li>
</ul>
</blockquote>
<p>2009-11-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImage): Only invoke ProfileImage() if
an ICC CMS transform is to be performed.  Otherwise invoke
SetImageProfile() to add the new profile.</p></li>
<li><p>magick/profile.c (ProfileImage): Improve logging messages.</p></li>
<li><p>coders/tiff.c (ReadTIFFImage): Allow CIELAB TIFF to be read.</p></li>
<li><p>coders/jpeg.c (ReadJPEGImage): Detect and apply colorspaces
appropriately for ITU FAX JPEG.</p></li>
</ul>
</blockquote>
<p>2009-11-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tiff: Updated to libtiff 3.9.2.</p></li>
</ul>
</blockquote>
<p>2009-11-08  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Suppress new pedantic warnings from libpng
version 1.2.41 and 1.4.0 and later.</p></li>
</ul>
</blockquote>
<p>2009-11-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>doc/options.imdoc: Document difference between -recolor and
Adobe Flash color matrix.</p></li>
</ul>
</blockquote>
<p>2009-11-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImageCommand): Convolve does not accept
an argument which looks like a geometry.  Resolves SourceForge
issue #2890923 &quot;Different handling of -convolve between convert
and mogrify&quot;.
(MogrifyImage): Validate that user-provided matrix is square when
parsing -convolve and -recolor commands in order to avoid a core
dump.</p></li>
<li><p>coders/tiff.c (ReadTIFFImage): Improved/added more coder logging
statements.</p></li>
<li><p>magick/xwindow.c: Reflowed some code and comments.</p></li>
<li><p>magick/utility.c (SetClientName): Default client name does need
to be &quot;Magick&quot;, so original value is restored.</p></li>
<li><p>coders/mpc.c (ReadMPCImage): is_monochrome and is_grayscale
flags were not managed properly for the MPC coder.</p></li>
</ul>
</blockquote>
<p>2009-10-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/jpeg.c (ReadJPEGImage): Added jpeg:block-smoothing and
jpeg:fancy-upsampling defines to control these JPEG library
options.</p></li>
<li><p>magick/image.c (SetImageInfo): Fix lockup due to hanging in loop
while parsing malformed sub-image specification (SourceForge issue
2886560).  Also fixes the ability to pass the image size via the
filename specification like &quot;myfile.jpg[640x480]&quot; rather than
needing to use -size.</p></li>
<li><p>coders/jpeg.c (ReadJPEGImage): Fix image scaling when used with
IJG JPEG library version 7.</p></li>
</ul>
</blockquote>
<p>2009-10-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/resource.c: Added support for a &quot;Threads&quot; limit, which
specifies how many threads may be used.  Note that if
omp_set_nested(true) is used, GCC's GOMP seems to replicate this
number of threads for each level of threading rather than sharing
the specified number of threads across all teams.  For example,
specifying four threads leads to sixteen active threads with
omp_set_nested(true) and nested threading.  This GOMP behavior
does not seem to cause any harm.
(GetMagickResourceLimit): New accessor function to retrieve the
maximum limit for a resource.</p></li>
<li><p>magick/module.c (ReadModuleConfigureFile): Default set of module
aliases is now statically initialized.  The modules.mgk file is
now optional and can be used to support adding more modules, or
diverting existing format support to a user-provided module.</p></li>
<li><p>magick/magick.c (DestroyMagick): Document that this function
should be invoked from the program's primary thread after any
threads using GraphicsMagick have terminated.
(GetMagickInfo): Was thread safe for access but not properly
thread safe during initialization.  Is now fully thread safe.
(InitializeMagick): Fully initialize everything needed to
read/write files.  Document that this function MUST be invoked
from the program's primary thread prior to using any other
GraphicsMagick functions.</p></li>
<li><p>magick/color_lookup.c (ReadColorConfigureFile): The colors.mgk
is now optional so don't throw an exception if it is not found.</p></li>
<li><p>magick/semaphore.c (AcquireSemaphoreInfo): Deprecated this
internal function.  Use AllocateSemaphoreInfo() and
LockSemaphoreInfo() instead.
(LiberateSemaphoreInfo): Deprecated this internal function.  Use
UnlockSemaphoreInfo() instead.</p></li>
</ul>
</blockquote>
<p>2009-10-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>config/colors.mgk: Colors.mkg is now empty since it is used to
modify or extend the built-in color lookup table.</p></li>
<li><p>magick/{constitute.c,delegate.c,log.c,magic.c,magick.c,tempfile.c}:
Explicitly initialize semaphores via InitializeMagick().</p></li>
<li><p>magick/type.h: New header file to contain types and function
prototypes for functions in type.c.</p></li>
<li><p>magick/color_lookup.c (ReadColorConfigureFile): Store RGB color
table in a static struct.  Entries in the colors.mgk file are now
used to modify statically-defined entries, or add new definitions
to the color table.</p></li>
</ul>
</blockquote>
<p>2009-10-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: --enable-libtool-verbose configure option is no
longer needed now that we have silent build capability.</p></li>
</ul>
</blockquote>
<p>2009-10-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/attribute.c (GenerateEXIFAttribute): Add support for
retrieving GPS EXIF attributes.  Based on work contributed by
Jukka Manner.</p></li>
<li><p>Magick++/lib/STL.cpp, Magick++/lib/Magick++/STL.h (shadeImage):
ShadeImage was the result of a botched cut-and-paste.  Corrected
now.  Thanks to Jukka Manner for making me aware of this.</p></li>
</ul>
</blockquote>
<p>2009-10-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/analyze.c: New source file to contain image analysis
functions.  Moved functions from image.c and color.c to this file.</p></li>
<li><p>magick/color_lookup.c: New source file to contain color lookup
functions.  Moved associated functions from color.c to this file.</p></li>
<li><p>magick/ImageMagick.rc: Remove inclusion of magic.mgk.</p></li>
<li><p>magick/utility.c (MagickRoundUpStringLength): Use a bit less
memory.</p></li>
<li><p>magick/color.c: Use most efficient string allocation function.</p></li>
<li><p>config/Makefile.am: Eliminate use of magic.mgk.</p></li>
<li><p>magick/magic.c: Store file header magic data in a static struct.</p></li>
</ul>
</blockquote>
<p>2009-10-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/describe.c (DescribeImage): Include composition operator
in verbose output.  Also use CompressionTypeToString() to convert
a compression enum to a string.</p></li>
</ul>
</blockquote>
<p>2009-10-11  Toby Thain  &lt;<a class="reference external" href="mailto:qu1j0t3&#37;&#52;&#48;users&#46;sourceforge&#46;net">qu1j0t3<span>&#64;</span>users<span>&#46;</span>sourceforge<span>&#46;</span>net</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/psd.c: Further fix for 2783535 reported by Daniel Kirsch.
Omit 0x0 layers from the image list, or they break compositing.</p></li>
</ul>
</blockquote>
<p>2009-10-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/xwindow.c: Check for overflow on all array allocations.</p></li>
<li><p>magick/command.c (MogrifyImages): If there is only one image in
the list, then -flatten does nothing at all.</p></li>
<li><p>magick/transform.c (FlattenImages): If the user provides only
one image then return a clone of that image rather than reporting
an error.</p></li>
<li><p>magick/texture.c (TextureImage): If an under-texture is applied,
then remove the matte channel.</p></li>
<li><p>magick/xwindow.c (MagickXMakeImage): Apply a checkerboard
pattern when displaying non-opaque TrueColor images.  Fix a second
integer overflow issue related to CVE-2009-1882.</p></li>
</ul>
</blockquote>
<p>2009-10-10  Toby Thain  &lt;<a class="reference external" href="mailto:qu1j0t3&#37;&#52;&#48;users&#46;sourceforge&#46;net">qu1j0t3<span>&#64;</span>users<span>&#46;</span>sourceforge<span>&#46;</span>net</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/psd.c: Fix for 2783535 reported by Daniel Kirsch. PSD
parser was confused by 0x0 pixel layers, resulting in image data
corruption of all following layers.</p></li>
</ul>
</blockquote>
<p>2009-10-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/xwindow.c (MagickXMakeImage): Fix for CVE-2009-1882
&quot;Integer overflow in the XMakeImage function&quot;.  The problem is
that the shared memory segment allocated may be smaller than the
image size requires due to integer overflow.  On some systems it
may be possible to crash GraphicsMagick (while displaying an image
file) but not likely to overwrite the heap since shared memory
segments are outside of the heap allocation.</p></li>
<li><p>magick/memory.c (MagickMallocArray): Use MagickArraySize().</p></li>
<li><p>magick/memory.c (MagickArraySize): New private function to
compute the size of an array and return zero if it overflows the
size_t type.</p></li>
</ul>
</blockquote>
<p>2009-10-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/dcm.c (ReadDCMImage): Handle (UN)known type VRs correctly
and interpret the transfer syntax correctly.  Added define
&quot;dcm:avoid-scaling&quot; to request that the coder should not scale
image samples unless necessary (i.e. when bits used &gt; quantum
depth or maximum colormap depth, depending on image type).  Work
is contributed by John Sergeant.</p></li>
</ul>
</blockquote>
<p>2009-10-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/Makefile.am (CHECK_PDF_FILE_COMPRESS): Add PDF tests with
the various compression options.</p></li>
<li><p>coders/pdf.c (WritePDFImage): If the input file used JPEG
compression and has not been converted to a bilevel or palette
image, then use JPEG compression with original settings.  Problem
was reported by Marco Atzeri.</p></li>
</ul>
</blockquote>
<p>2009-10-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>config/modules.mgk: DCRAW module entries were missing.</p></li>
<li><p>coders/tiff.c (WriteGROUP4RAWImage): Was not working properly on
big-endian CPUs with libtiff 1.4.</p></li>
<li><p>coders/ps2.c (WritePS2Image): Use ImageToJPEGBlob().</p></li>
<li><p>coders/ps3.c (WritePS3Image): Use ImageToJPEGBlob().</p></li>
<li><p>coders/pdf.c (WritePDFImage): Decouple from libtiff.  Use ImageToJPEGBlob().</p></li>
<li><p>coders/dcraw.c (RegisterDCRAWImage): Needed to register module
name.</p></li>
<li><p>coders/cals.c (ReadCALSImage): Fix bug in CALS reader which
caused reading images taller than the image width to fail with an
error.</p></li>
<li><p>magick/utility.c (AcquireString): Minor optimizations.
(AllocateString): Minor optimizations.
(CloneString): Minor optimizations.
(LocaleCompare): Minor optimizations.
(SubstituteString): Re-implemented in a more compact way which
might avoid some reallocations.</p></li>
<li><p>magick/magick.c (ListModuleMap): Don't crash if <cite>module</cite> was not
set.</p></li>
<li><p>magick/delegate.c (ListDelegateInfo): Fix insignificant memory
leak.</p></li>
<li><p>magick/compress.c (ImageToJPEGBlob): Preserve JPEG settings if
feasable.</p></li>
</ul>
</blockquote>
<p>2009-09-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/pdf.c (WritePDFImage): Use ImageToHuffman2DBlob() and
ImageToJPEGBlob().</p></li>
<li><p>coders/cals.c (WriteCALSImage): Use ImageToHuffman2DBlob().</p></li>
<li><p>magick/compress.c (ImageToHuffman2DBlob): New private
convenience function to produce a CCIT Group4 blob.
(ImageToJPEGBlob): New private convenience function to produce a
JPEG blob.</p></li>
</ul>
</blockquote>
<p>2009-09-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/jp2.c (ReadJP2Image): Fix scaling problem noticed when
reading 12-bit JP2 format.  Problem was reported by Steve Shaw.
(WriteJP2Image): Support writing JP2 files with arbitrary depth
ranging from 2 to 16 rather than just 8 or 16.</p></li>
</ul>
</blockquote>
<p>2009-09-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/unix_port.c (MagickGetMMUPageSize): Cache returned page
size to eliminated repeated system calls.</p></li>
<li><p>magick/operator.c (QuantumOperatorRegionImage): Fix missing
percent in progress monitor message.</p></li>
</ul>
</blockquote>
<p>2009-09-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/meta.c (GetIPTCStream): Should return IPTC block length
rather than remaining blob length.  Patch submitted by John
Sergeant.</p></li>
</ul>
</blockquote>
<p>2009-09-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/meta.c (GetIPTCStream): IPTC blobs should be padded to an
even size.  Patch submitted by John Sergeant.</p></li>
</ul>
</blockquote>
<p>2009-09-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/tiff.c (WriteGROUP4RAWImage): Added a GROUP4RAW encoder.</p></li>
<li><p>coders/cals.c (Huffman2DEncodeImage): Fix test failures when
doing I/O to an in-memory blob.</p></li>
<li><p>coders/pcl.c (WritePCLImage): Use a different control code to
(hopefully) eject the page.  Patch submitted by John Sergeant.</p></li>
</ul>
</blockquote>
<p>2009-09-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/Makefile.am: Add CALS tests.  Skip testing deep images for
most formats which don't support deep images.</p></li>
<li><p>coders/cals.c: CALS module was not being built under Windows
with MSVC.  Now it is.</p></li>
<li><p>VisualMagick/configure/configure.cpp (process_library): CALS
module is dependent on TIFF library.</p></li>
<li><p>coders/cals.c (WriteCALSImage): Allow CALS writing at any time,
but only enable CALS reader if libtiff is present at build time.</p></li>
<li><p>coders/{cals.c,pdf.c,ps2.c,ps3.c} (Huffman2DEncodeImage): Force
TIFF image type to bilevel type.</p></li>
<li><p>config/modules.mgk, VisualMagick/bin/modules.mkg: CAL--&gt;CALS
rather than CALS--&gt;CAL.</p></li>
</ul>
</blockquote>
<p>2009-09-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/benchmarks.rst: Updated GraphicsMagick vs ImageMagick
benchmark results.</p></li>
</ul>
</blockquote>
<p>2009-09-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/cals.c (WriteCALSImage): Initial CALS Type 1 writer
implementation.  Contributed by John Sergeant.</p></li>
<li><p>coders/png.c (ReadOnePNGImage): Fresh pixels should be set using
SetImagePixels().</p></li>
</ul>
</blockquote>
<p>2009-09-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/msl.c, doc/conjure.imdoc: Add support for a new <cite>profile</cite>
command in MSL/conjure which applies, adds, or removes one or more
IPTC, ICC or generic profiles from a file.  Work contributed by
John Sergeant.</p></li>
</ul>
</blockquote>
<p>2009-09-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/nt_base.c (NTGhostscriptFind): Make sure we close the
registry key.  Log any Windows error messages.</p></li>
<li><p>magick/profile.c (AppendImageProfile): New function to add or
append a profile.  If the profile already exists, then the data
provided is appended to it.</p></li>
<li><p>coders/jpeg.c (ReadGenericProfile,ReadICCProfile,ReadIPTCProfile):
Profile chunks need to be concatenated.  Otherwise &quot;chunked&quot;
profiles become corrupted.</p></li>
</ul>
</blockquote>
<p>2009-09-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/average.c (AverageImages): Moved from image.c to new
average.c file.</p></li>
<li><p>magick/colormap.h (VerifyColormapIndex): Moved here from color.h</p></li>
<li><p>magick/colormap.c (AllocateImageColormap): Moved from image.c to
new colormap.c source file.
(CycleColormapImage): Moved from image.c.
(ReplaceImageColormap): Moved from image.c.
(SortColormapByIntensity): Moved from image.c.
(MagickConstrainColormapIndex): Moved here from color.c.</p></li>
<li><p>magick/describe.c (DescribeImage): Moved from image.c to new
describe.c source file.</p></li>
<li><p>magick/plasma.c (PlasmaImage): Moved from image.c to new
plasma.c source file.</p></li>
<li><p>magick/statistics.c (GetImageStatistics): Moved from image.c to
new statistics.c source file.</p></li>
<li><p>magick/gradient.c (GradientImage): Moved from image.c to new
gradient.c source file.</p></li>
<li><p>magick/texture.c (ConstituteTextureImage,TextureImage): Moved to
new texture.c source file.</p></li>
<li><p>coders/svg.c (ENABLE_SVG_WRITER): Disable SVG writer by default
since it usually does not work correctly and is unlikely to work
correctly any time soon.</p></li>
</ul>
</blockquote>
<p>2009-09-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/profile.c (ProfileImage): GlobExpression is case
sensitive so assure that its glob strings are always upper-cased.
Without this fix, lower-cased arguments like &quot;icm&quot; would fail to
be removed.  This would not be much of a problem except that the
documentation claims that lower-case works.
(SetImageProfile): Assure that profile names are upper-cased.</p></li>
<li><p>magick/fx.c (ColorMatrixImage): Add opaque opacity channel if
image currently lacks an opacity channel but the matrix updates
the opacity channel.  Requested by Kerry Panchoo.</p></li>
</ul>
</blockquote>
<p>2009-09-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/meta.c (GetIPTCStream): Updates from John.Sergeant to fix
issues with IPTC record 2 blocks and to deal better with IPTC
embedded in an 8BIM profile.</p></li>
<li><p>PerlMagick/t/read.t: Added tests for Topol format.</p></li>
</ul>
</blockquote>
<dl class="simple">
<dt>2009-09-12 Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</dt>
<dd><ul class="simple">
<li><p>coders/topol.c: Pallette overflow fixed for subtype 3.</p></li>
</ul>
</dd>
</dl>
<p>2009-09-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>utilities/tests/msl_composite.sh: Use a draw command file for
this test script too.</p></li>
<li><p>utilities/tests/{black-threshold.sh,draw.sh,recolor.sh,
white-threshold.sh}: MSYS is sometimes wreaking havoc on arguments
with spaces in them so use work-arounds.</p></li>
</ul>
</blockquote>
<p>2009-09-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/nt_base.c (NTGhostscriptFind): Improve logging messages
when searching for Ghostscript.</p></li>
</ul>
</blockquote>
<p>2009-09-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/pixel_cache.c (CacheInfo): Add read_only member to
indicate if cache is allowed to be modified.
(ModifyCache): Clone cache if origin cache is read only.
(PersistCache): Persistent caches which are attached are treated
as read-only.  This avoids crash with MPC images which are read
and subsequently modified.
Reverted pixel cache locking changes which were made yesterday
since I decided that they were too risky until file handle
management is addressed.</p></li>
</ul>
</blockquote>
<p>2009-09-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/resource.c (InitializeMagickResources): Increase
operating system file handle limits if necessary.</p></li>
<li><p>magick/pixel_cache.c: Pixel cache file locking is now done at
point of access.</p></li>
<li><p>magick/nt_base.c (NTGhostscriptFind): New function to find
Ghostscript under Windows, replacing previous Ghostgum
implementation.</p></li>
<li><p>Copyright.txt: License is now based on MIT license exactly,
without extra edits.  Ghostgum code has been eliminated so it is
no longer necessary to include its license.</p></li>
</ul>
</blockquote>
<p>2009-09-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/delegate.c (GetPostscriptDelegateInfo): Add a gs-palette
delegate entry in order to force Ghostscript to output a
colormapped image if <cite>-type palette</cite> is specified prior to the
input filename.  Ghostscript's dithering is much courser than
GraphicsMagick's -colors default (more similar to
-ordered-dither), but it is fast and produces smaller intermediate
files.</p></li>
<li><p>coders/ps.c (ReadPSImage): Eliminate use of NULL pointer when
progress monitor is enabled.  Was referring to image-&gt;filename
rather than image_info-&gt;filename as it should have.</p></li>
<li><p>magick/delegate.c (InvokePostscriptDelegate): Added an
<cite>exception</cite> argument so that failure details can be returned.
Tried to reorganize the code so that it is more tolerant of errors
such as a dynamically-loadable DLL failing to load.  On POSIX
systems, Ghostscript was not being invoked as securely as
expected.</p></li>
<li><p>coders/Makefile.am: Only build the DPS module if the Display
Postscript library is available.</p></li>
<li><p>coders/ept.c (ReadEPTImage): If we don`t have the Display
Postscript library, then don't try to use it as a fallback.</p></li>
<li><p>coders/ps.c (ReadPSImage): If we don't have the Display
Postscript library, then don't try to use it as a fallback.</p></li>
<li><p>magick/blob.c (CloseBlob): If blob was never allocated, then
don't try to close it.</p></li>
</ul>
</blockquote>
<p>2009-09-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/index.rst: Mention 1.2.8 release.</p></li>
</ul>
</blockquote>
<p>2009-09-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Magick++: New Image methods cdl(), colorMatrix(), and haldClut()
added.</p></li>
</ul>
</blockquote>
<p>2009-09-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/shear.c (IntegralRotateImage): Select tile sizes in a
more intelligent fashion.</p></li>
<li><p>magick/pixel_cache.c (GetPixelCacheInCore): New private pixel
cache method to see if image pixels are in core.</p></li>
</ul>
</blockquote>
<p>2009-09-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/constitute.c (ReadImage): No longer clear the exception
at the start of ReadImage() and other similar functions.  If the
user of the function cares, she can clear the exception in
advance.  It is not right to overwrite exceptions which might not
have been reported/handled yet.</p></li>
<li><p>magick/shear.c (IntegralRotateImage): Rotate by zero degrees
does not need to do any work.</p></li>
<li><p>coders/*.c, magick/*.c: Include image dimensions in progress
monitor output when loading or saving a file.  Eliminate redundant
text from progress messages.</p></li>
</ul>
</blockquote>
<p>2009-08-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/wmf.c: Eliminate memory leaks.</p></li>
<li><p>magick/render.c (DrawDashPolygon): Avoid access beyond end of
array.  Resolves SourceForge issue 2832125 &quot;Crash on SVG
conversion&quot;.</p></li>
<li><p>coders/png.c (ReadOnePNGImage): Ensure that opacity channel is
properly initialized.  Resolves SourceForge issue 2831240
&quot;Possible alpha channel issue with PNG w/palette and tRNS&quot;.</p></li>
</ul>
</blockquote>
<p>2009-08-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/nt_base.h (HAVE_TIFFSWABARRAYOFTRIPLES): Need to define
this since libtiff includes this function now.</p></li>
<li><p>VisualMagick/tiff/libtiff/tiffconf.h.in: Enable all the options
by default.</p></li>
<li><p>tiff: Updated to libtiff 3.9.1.  3.9.0 was broken.</p></li>
</ul>
</blockquote>
<p>2009-08-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/profile.c (MagickFreeCMSTransform): Add a CMS transform
destructor since otherwise Visual Studio does not like it.</p></li>
<li><p>tiff: Updated to libtiff 3.9.0.</p></li>
</ul>
</blockquote>
<p>2009-08-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (TimeImageCommand): Add a simple <cite>time</cite>
sub-command to time the execution of any other GraphicsMagick
sub-command.  Similar in concept to the <cite>benchmark</cite> sub-command
but produces output similar to the <cite>time</cite> command offered by the
zsh command shell.  Handy for when <cite>time</cite> is not available, or
consistent output is desired.</p></li>
<li><p>magick/magick.c (MagickGetFileSystemBlockSize): New private
function to allow getting desired filesystem block size.
(MagickSetFileSystemBlockSize): New private function to allow
setting desired filesystem block size.</p></li>
<li><p>magick/pixel_cache.c (WriteCacheIndexes, WriteCachePixels):
Temporarily disable pixel cache row coalescing when writing to
disk until we come up with a good way to optimize write sizes.</p></li>
<li><p>coders/meta.c (ReadMETAImage): Fix memory leak of profile blob.</p></li>
</ul>
</blockquote>
<p>2009-08-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>utilities/tests/icc-transform.sh: Add a sanity-test for applying
ICC profiles.</p></li>
<li><p>magick/profile.c (ProfileImage): Improve OpenMP performance.</p></li>
</ul>
</blockquote>
<p>2009-08-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/render.c (DrawPolygonPrimitive): Drawing of points,
lines, and polygons is now accelerated using OpenMP with good
speed-up.</p></li>
</ul>
</blockquote>
<p>2009-08-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/drawing_wand.c (DrawClearException): New function to clear
drawing wand exception.
(DrawGetException): New function to retrieve information regarding
the last drawing wand exception (if any).
(DrawRender): DrawRender() is now deprecated since it requires an
Image pointer to be embedded in the drawing wand.  The image
passed is subsequently lost by CloneDrawingWand() since it must
clone the image using copy-on-write.  Subsequent use of
DrawRender() on a cloned wand scribbles on an image the user does
not have access to.  Use existing Wand function MagickDrawImage()
instead.
(DrawAllocateWand): DrawAllocateWand() is now deprecated since it
requires passing an Image pointer into the drawing wand.  Use
existing DrawingWand function NewDrawingWand() instead.</p></li>
</ul>
</blockquote>
<p>2009-08-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/drawing_wand.c (CloneDrawingWand): New function to
deep-copy a drawing wand.
(NewDrawingWand): Use a boolean flag to track if image is
allocated by the wand, or by the user.  Most of the previous
DrawAllocateWand() code is moved into NewDrawingWand() so that the
boolean flag is easy to manage.</p></li>
</ul>
</blockquote>
<p>2009-08-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/tiff.c (WriteTIFFImage): Support writing grayscale
JPEG-compressed TIFF.</p></li>
</ul>
</blockquote>
<p>2009-08-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/tiff.c (ReadTIFFImage): Don't override the photometric
for grayscale JPEG-compressed TIFF.</p></li>
</ul>
</blockquote>
<p>2009-08-08  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Made compatible with libpng-1.4.0beta74 and later
(won't work with libpng-1.4.0beta35 through beta73) due to change
in names of png_struct members &quot;trans&quot; and &quot;trans_values&quot;).</p></li>
</ul>
</blockquote>
<dl class="simple">
<dt>2009-08-08 Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</dt>
<dd><ul class="simple">
<li><p>coders/topol.c: Pallette is ignored for subtype 5 (RGB).</p></li>
</ul>
</dd>
</dl>
<p>2009-08-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/{cineon.c, dpx.c, locale.c, svg.c}, magick/{attribute.c,
effect.c, utility.c}: Eliminate warnings reported by GCC 4.4.0.</p></li>
</ul>
</blockquote>
<p>2009-07-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Try to be more insistent about compilation failure
if libjpeg version is less than 6b.  IRIX compiler only warns
about #error preprocessor statement.</p></li>
</ul>
</blockquote>
<p>2009-07-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/magick_wand.c (MagickSetCompressionQuality): New Wand
method to allow setting the compression quality.</p></li>
</ul>
</blockquote>
<p>2009-07-29 Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/topol.c: Fixed missing break. Added response to ping.</p></li>
</ul>
</blockquote>
<p>2009-07-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/pcx.c (ReadPCXImage): Detect improper rows, columns, or
depth.  Fixes CVE-2008-1097 &quot;Memory corruption in ImageMagick's
PCX coder&quot;.</p></li>
<li><p>configure.ac: Update to Autoconf 2.64.</p></li>
</ul>
</blockquote>
<p>2009-07-25 Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/topol.c: Fixed several issues. Added possibility to read
TopoL level 2 images.</p></li>
</ul>
</blockquote>
<p>2009-07-25 Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>VisualMagickconfigureconfigure.cpp: Fixed library absolute path issue.</p></li>
</ul>
</blockquote>
<p>2009-07-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/random.c (DestroyMagickRandomGenerator): Trick to free
thread specific random kernel contexts simply locks up with MSVC's
OpenMP, so remove this functionality.</p></li>
</ul>
</blockquote>
<p>2009-07-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/random.c (DestroyMagickRandomGenerator): Cleanup thread
specific random kernel data.</p></li>
<li><p>magick/tsd.c (MagickTsdKeyCreate): Fix glitch when built without
any threads support.</p></li>
</ul>
</blockquote>
<p>2009-07-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/benchmarks.rst: Update GraphicsMagick vs ImageMagick image
processing benchmark results.</p></li>
</ul>
</blockquote>
<p>2009-07-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/OpenMP.rst: Update performance measurements for readily
available systems.</p></li>
<li><p>NEWS.txt: Updated to reflect latest changes.</p></li>
</ul>
</blockquote>
<p>2009-07-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>png: Updated libpng to 1.2.38.</p></li>
</ul>
</blockquote>
<p>2009-07-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/image.c (GetImageInfo): Default interlace for ImageInfo
is now UndefinedInterlace so that it is possible to preserve the
original interlace setting for the image file.  Code depending on
the previous default setting of NoInterlace is adjusted to suit.
This is a potentially risky change given the brittle nature of
some of the legacy code.</p></li>
<li><p>coders/tiff.c (ReadTIFFImage): Stripped reader needs to read
planar TIFF plane-wise in order to work with libtiff's internal
buffering.
(ReadTIFFImage): Tiled reader needs to read planar TIFF plane-wise
in order to work with libtiff's internal buffering.
(WriteTIFFImage): Tiled writer needs to output planar TIFF
plane-wise in order to work with libtiff's internal buffering.</p></li>
</ul>
</blockquote>
<p>2009-07-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MontageUsage): Reconcile montage help output
with actual montage options.</p></li>
</ul>
</blockquote>
<p>2009-07-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/tiff.c (WriteTIFFImage): Allow the user to be able to
specify rows_per_strip when using JPEG compression.  The
rows_per_strip value rounded up to the nearest multiple of 16.</p></li>
</ul>
</blockquote>
<p>2009-07-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/tiff.c (WriteTIFFImage): Add the ability for the user to
manually specify the predictor using syntax like <cite>-define
tiff:predictor=2</cite>.</p></li>
</ul>
</blockquote>
<p>2009-07-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/quantize.c (QuantizeImages): Avoid crash when using
-monitor +map on an image list.</p></li>
<li><p>magick/command.c (BenchmarkImageCommand): Send benchmark report
to stderr so that it does not interfer with pipes.</p></li>
<li><p>magick/cdl.c (CdlQuantum): Add range limiting of value before
applying power function.</p></li>
<li><p>coders/dpx.c (ReadDPXImage, WriteDPXImage): Using floating point
calculations when building sample value lookup tables in order to
decrease error.  In particular input values were being scaled too
low, resulting in improperly rounding down during processing of
the image.</p></li>
</ul>
</blockquote>
<p>2009-07-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/pdf.c (WritePDFImage): Incorporated updates from John
Sergeant to remove the font and thumbnail objects from PDF output.</p></li>
</ul>
</blockquote>
<p>2009-07-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/cdl.c (CdlImage): New function to apply an ASC CDL
transform to the image.  Original implementation by Clément Follet
from Workflowers but considerably re-worked by Bob Friesenhahn.
Available as -asc-cdl via the <cite>convert</cite> and <cite>mogrify</cite> subcommands.</p></li>
</ul>
</blockquote>
<p>2009-07-04 Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/formats.rst: MAT module can read compressed files.
Remove warning about unsupported compression.</p></li>
</ul>
</blockquote>
<p>2009-07-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/dcm.c: Eliminate compiler warnings.</p></li>
</ul>
</blockquote>
<p>2009-07-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/dcm.c: Significant re-write of the DICOM reader.  Work
contributed by John Sergeant.</p></li>
</ul>
</blockquote>
<p>2009-07-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/blob.c (OpenBlob): Subsequent research shows that Direct
I/O will not be useful to ordinary file I/O due to specific
requirements for buffer alignments and I/O sizes.  Support for
requesting it is removed.</p></li>
</ul>
</blockquote>
<p>2009-07-01  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/formats.rst: ART module has writer for more than year.
So mark this here.</p></li>
</ul>
</blockquote>
<p>2009-06-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac, magick/blob.c: Add experimental Solaris direct I/O
support which is enabled by setting the environment variable
MAGICK_DIRECTIO to TRUE.  Direct I/O bypasses the filesystem
cache.  Only works for NFS and UFS, and not for ZFS.</p></li>
</ul>
</blockquote>
<p>2009-06-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>rungm.sh.in: Fix environment variable issues noticed while
running the test suite under MinGW.</p></li>
<li><p>Makefile.am (TESTS_ENVIRONMENT): Fix environment variable issues
noticed while running the test suite under MinGW.</p></li>
<li><p>magick/hclut.c (HaldClutImage): Don't convert Cineon Log to RGB.</p></li>
</ul>
</blockquote>
<p>2009-06-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImageCommand): Cache mogrify argument
images so that they are only loaded once when mogrify is used to
process multiple image files.</p></li>
<li><p>coders/dpx.c (WriteDPXImage): Fix leak of chroma image when
subsampling to 4:2:2.</p></li>
</ul>
</blockquote>
<p>2009-06-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/utility.c (ExpandFilenames): Expand &#64;filename to a list
of arguments.</p></li>
</ul>
</blockquote>
<p>2009-06-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImageCommand): Fix memory leak of
output_directory string buffer, if it was used.</p></li>
<li><p>magick/utility.c (ExpandFilenames): Input wildcard file
specifications with a subdirectory component such as
&quot;subdir/*.dpx&quot; were not working.</p></li>
</ul>
</blockquote>
<p>2009-06-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/magick.c (InitializeMagick): Invoke InitializeMagickRegistry().</p></li>
<li><p>magick/registry.c (RegistryInfo): There is no reason to expose
the RegistryInfo structure in the public interface so it is moved
to registry.c.
(InitializeMagickRegistry): Add a function for initializing the
magick registry.</p></li>
</ul>
</blockquote>
<p>2009-06-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (CompareImageCommand): Report full error rather
than rounded error in error reports since sometimes the value
reported was rounded down to zero.</p></li>
<li><p>utilities/tests/hald-clut-transform.sh: New test to verify that
Hald CLUT interpolation is working perfectly.</p></li>
<li><p>utilities/tests/hald-clut-identity.sh: Renamed from
hald-clut.sh.</p></li>
</ul>
</blockquote>
<p>2009-06-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/jpeg.c (RegisterJPEGImage): Fix typo which caused IJG
library version to be shown for &quot;JPG&quot; format but not for &quot;JPEG&quot;.
Also use a more descriptive name for JPEG library.</p></li>
<li><p>magick/image.c (DescribeImage): Filter out spurious EXIF
attributes which already exist because we previously accessed
them.  We do a full EXIF dump later.</p></li>
</ul>
</blockquote>
<p>2009-06-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/FAQ.rst: Add a FAQ about how to process many files at once.</p></li>
</ul>
</blockquote>
<p>2009-06-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Reduce usage of deprecated Autoconf macros.</p></li>
<li><p>coders/jpeg.c (ReadJPEGImage): Set image orientation from EXIF
Orientation tag if it is present.</p></li>
<li><p>www/formats.rst: Add TopoL format as per Jaroslav Fojtik.</p></li>
</ul>
</blockquote>
<p>2009-06-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: User provided LDFLAGS was being overwritten under
Solaris.</p></li>
<li><p>Many files: Additional reduction of shadowing warnings.</p></li>
</ul>
</blockquote>
<p>2009-06-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImage): Fix leak of the entire mask
image supplied via -mask.</p></li>
<li><p>utilities/tests/mask.sh: Add a test for applying a mask image
with -mask.</p></li>
</ul>
</blockquote>
<p>2009-06-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/attribute.c (GenerateEXIFAttribute): Identify unknown
tags via their four-character hex value.</p></li>
<li><p>magick/colorspace.c (CMYKToRGBTransform): Use symbolic notation
to access pixel quantum values.</p></li>
<li><p>utilities/tests/identify.sh: Added a test for <cite>identify
-verbose</cite> on a well-populated JPEG file.</p></li>
<li><p>PerlMagick/t/{jpeg/write.t, jng/read.t, jng/write.t}: Relax
allowed error for JPEG-related tests.</p></li>
<li><p>magick/attribute.c (GenerateEXIFAttribute): Attribute allocation
size was too small causing overrun of memory buffer.  Problem was
added on 2009-06-08.</p></li>
<li><p>magick/image.c (AllocateDepthMap): Allocation size was one
element too small.
(GetImageDepth): Forgot to free depth map.  Memory leak of 64K
bytes per iteration.</p></li>
</ul>
</blockquote>
<p>2009-06-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/{mat.c, miff.c, pdf.c, ps3.c}: Have Zlib use our memory
allocators.</p></li>
<li><p>magick/memory.c (MagickMallocCleared): New memory allocation
interface which is similar to MagickMalloc() except that returned
memory has been cleared first.</p></li>
<li><p>magick/hclut.c (HaldClutImagePixels): Fix wrong accesses
detected by valgrind.  Also improve execution performance.</p></li>
<li><p>coders/xwd.c (WriteXWDImage): Fixed valgrind memcheck complaint
about access to uninitialized data.</p></li>
</ul>
</blockquote>
<p>2009-06-09  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Handle alpha channel for ImageMagick's alternative .txt</p></li>
</ul>
</blockquote>
<p>2009-06-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/dpx.c (WriteDPXImage): Fixed valgrind memcheck complaint
about access to uninitialized data.</p></li>
<li><p>magick/attribute.c (GenerateEXIFAttribute): For EXIF STRING,
output unprintable characters using three-digit octal notation.</p></li>
<li><p>coders/dpx.c (WriteDPXImage): Assure that offset count is
correct according to reported bytes written.</p></li>
<li><p>utilities/tests/hald-clut.sh: Add a simple identity test for the
Hald CLUT support.</p></li>
</ul>
</blockquote>
<p>2009-06-07  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Handle alpha channel for ImageMagick's .txt</p></li>
</ul>
</blockquote>
<p>2009-06-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/hclut.c (HaldClutImage): Add a Hald CLUT capability as
described at <a class="reference external" href="http://www.quelsolaar.com/technology/clut.html">http://www.quelsolaar.com/technology/clut.html</a>.  This
allows a color transformation to be easily created and replicated
on any number of images.  The algorithm is accessed by the
-hald-clut option of <cite>convert</cite> and <cite>mogrify</cite>.  The original
algorithm is by Eskil Steenberg and was adapted for GraphicsMagick
by Clément Follet from Workflowers with support from Cédric
Lejeune of Workflowers.</p></li>
</ul>
</blockquote>
<p>2009-06-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/utility.c (GetMagickGeometry): Support <cite>^</cite> modifier to
geometry specification which indicates that specified size is a
minimum bounding box rather than a maximum bounding box while
preserving the image aspect ratio.</p></li>
</ul>
</blockquote>
<p>2009-06-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/resource.c (ListMagickResourceInfo): If supporting
OpenMP, then include a &quot;Threads&quot; limit in the output of <cite>-list
resource</cite>.</p></li>
<li><p>coders/pnm.c (ReadPNMImage): Fix multi-thread issue detected by
valgrind's helgrind tool.  Diminish compilation warnings.</p></li>
<li><p>coders/dpx.c (ReadDPXImage): Diminish compilation warnings.</p></li>
<li><p>magick/random.c (AcquireMagickRandomKernel): Fix potential
multi-thread issue detected by valgrind's helgrind tool.</p></li>
<li><p>magick/magick.c (InitializeMagick): Semaphore subsystem needs to be
initialized before anything which uses it.</p></li>
<li><p>magick/semaphore.c (InitializeSemaphore): Since we are using
PTHREAD_MUTEX_INITIALIZER to initialize primary POSIX mutex in the
semaphore subsystem, we should not explicitly initialize the
semaphore a second time.</p></li>
<li><p>magick/segment.c (Classify): Fix multi-thread issue detected by
valgrind's helgrind tool.</p></li>
<li><p>magick/render.c (DrawAffineImage): Use InterpolateViewColor() to
evalute a bi-linear interpolated point rather than obtaining a
pixel value from a close pixel.  This provides better results.</p></li>
</ul>
</blockquote>
<p>2009-06-02  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Attempt to handle alpha channel.</p></li>
</ul>
</blockquote>
<p>2009-06-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/pixel_cache.c (InterpolateViewColor, InterpolateColor):
Moved from gem.c.  Gem functions should not be accessing the pixel
cache.</p></li>
</ul>
</blockquote>
<p>2009-06-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (CompareImageCommand): Add a -maximum-error
option to <cite>compare</cite> so that it can easily be used in boolean logic
when comparing images.</p></li>
</ul>
</blockquote>
<p>2009-05-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/Makefile.am (TESTS_XFAIL_TESTS): If Ghostscript is not
available then XFAIL the tests which depend on it.</p></li>
<li><p>magick/pixel_cache.c (GetCacheInfo): Assure that allocated
stuctures do not occupy the same cache lines.</p></li>
</ul>
</blockquote>
<p>2009-05-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/studio.h (MAGICK_CACHE_LINE_SIZE): Allow cache line size
to be set in one place in case we want to configure for it later.</p></li>
<li><p>magick/effect.c (AllocateMedianList): Assure that allocated
stuctures do not occupy the same cache lines.</p></li>
<li><p>magick/random.c (AcquireMagickRandomKernel): Assure that
allocated random kernels do not occupy the same cache lines.</p></li>
<li><p>magick/gem.c (GenerateDifferentialNoise): User is required to
supply random kernel.</p></li>
<li><p>doc/options.imdoc: Document -format &quot;%p&quot;.  Problem was reported
by Stijn Sanders.</p></li>
</ul>
</blockquote>
<p>2009-05-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/Makefile.am (coders_tiff_la_LIBADD): Libtiff may now also
depend on libjbig and the math library.</p></li>
<li><p>doc/gmdoc2html: Fix link to ball.png.  Problem was reported by
Wes Fox.</p></li>
<li><p>VisualMagick/installer/inc/files-documentation.isx: Include Wand
API documentation.</p></li>
<li><p>VisualMagick/installer/inc/icons-associate.isx: Fix Windows
Start menu link to web pages.</p></li>
<li><p>configure.ac: --with-perl is changed to --without-perl since
building PerlMagick is no longer the default.  Building PerlMagick
automatically has caused too many problems.</p></li>
<li><p>PerlMagick/Makefile.am: GraphicsMagick no longer automatically
installs PerlMagick.  Use the procedure described by
PerlMagick/README.txt to build and install PerlMagick.</p></li>
</ul>
</blockquote>
<p>2009-05-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Debian stores Ghostscript fonts under
/usr/share/fonts/type1/gsfonts so check there for fonts.  Issue
reported by Ralf Wildenhues.</p></li>
</ul>
</blockquote>
<p>2009-05-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>PerlMagick/Magick.xs: Fix Ping of blob.</p></li>
<li><p>PerlMagick/t/ping.t: Added tests for pinging files and blobs.</p></li>
<li><p>www/perl.rst: Ping blob syntax is like $image-&gt;Ping(blob=&gt;&#64;blob).</p></li>
<li><p>PerlMagick/Makefile.PL.in: Increase the probability of
PerlMagick build success by using the user-specified C compiler as
the linker if the C compiler was already used as the linker.  This
helps if the C compiler used to build GraphicsMagick is a more
recent vintage than the one used to build Perl.</p></li>
<li><p>PerlMagick/t/wmf/read.t: Test needs to be more lenient for
Linux.</p></li>
<li><p>Makefile.am (TESTS_ENVIRONMENT): Pass a complete text
environment so that we don't need to execute rungm.sh in order to
run the test suite.</p></li>
</ul>
</blockquote>
<p>2009-05-25  Ralf Wildenhues  &lt;<a class="reference external" href="mailto:Ralf&#46;Wildenhues&#37;&#52;&#48;gmx&#46;de">Ralf<span>&#46;</span>Wildenhues<span>&#64;</span>gmx<span>&#46;</span>de</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>version.sh: Define PACKAGE_STRING.</p></li>
</ul>
</blockquote>
<p>2009-05-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/tempfile.c (ComposeTemporaryFileName): Use new random
number generator.</p></li>
<li><p>magick/random.c: Implement a random number generation system
based on George Marsaglia's multiply-with-carry generator.
Somewhat slower than rand() but produces better random numbers
with a period &gt;2^60.  Suggested by Mark Mitchell.</p></li>
</ul>
</blockquote>
<p>2009-05-24  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul>
<li><p>coders/txt.c Small optimization:</p>
<p>Before: 2000 iter 34.08s user 34.24s total 58.420 iter/s</p>
<p>After: 2000 iter 21.55s user 21.76s total 91.891 iter/s</p>
</li>
</ul>
</blockquote>
<p>2009-05-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Makefile.am (XFAIL_TESTS): Handle the case where FreeType is not
available by marking tests dependent on FreeType as XFAIL.
(TESTS): Reorder TESTS so that there will be no trailing spaces
since this confuses certain older versions of GNU make.</p></li>
</ul>
</blockquote>
<p>2009-05-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/tempfile.c (ComposeTemporaryFileName): Use simpler code
(suggested by Mark Mitchell) to compute the substitution index.
(AcquireTemporaryFileDescriptor): Try harder to generate a
successful temporary file and fall through to alternative
implementations if the first does not succeed.</p></li>
<li><p>magick/magick.c (InitializeMagick): Use MagickRandNewSeed() to
seed the default random number generator.</p></li>
<li><p>magick/utility.c (MagickRandNewSeed): Include PID in random
number seed generation.</p></li>
</ul>
</blockquote>
<p>2009-05-22  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Fixed char vs int parameter problem.
Better detection of too dark 16bit or 32bit images.</p></li>
</ul>
</blockquote>
<p>2009-05-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Makefile.am (AUTOMAKE_OPTIONS): Enable parallel-tests and
color-tests options.  Parallel test execution does not pass tests
yet.</p></li>
<li><p>PerlMagick/PerlMagickCheck.sh.in: Run PerlMagick tests via a
normal check script rather than a check hook.</p></li>
<li><p>coders/identity.c (ReadIdentityImage): Fix compilation with Sun
compiler.</p></li>
</ul>
</blockquote>
<p>2009-05-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/rwfile.c: Allow the user to specify the basename for
temporary files.</p></li>
<li><p>tests/Makefile.am: Add a set of TXT read/write tests.  Pass the
file name specification to use for the rwfile-based tests.</p></li>
</ul>
</blockquote>
<p>2009-05-21  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Fixed endian set to native endian.</p></li>
</ul>
</blockquote>
<p>2009-05-20  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Faster read ImageMagick files.
Removed BImgBuff=NULL;</p></li>
</ul>
</blockquote>
<p>2009-05-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c (WriteTXTImage): Ensure that image depth is 8, 16,
or 32.</p></li>
<li><p>www/formats.rst: Add CALS to formats list.</p></li>
<li><p>coders/cals.c (RegisterCALSImage): Consolidate duplicate text
strings.</p></li>
</ul>
</blockquote>
<p>2009-05-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/cals.c: Add support for reading CALS type 1 format.
Contributed by John Sergeant.</p></li>
<li><p>coders/identity.c: New coder to return a Hald identity CLUT
image.</p></li>
</ul>
</blockquote>
<p>2009-05-19  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c Ability to read back Q32 txt files.</p></li>
</ul>
</blockquote>
<p>2009-05-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Support Linux style silent build rules.</p></li>
</ul>
</blockquote>
<p>2009-05-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Makefile.am: Updated to Automake 1.11.</p></li>
</ul>
</blockquote>
<p>2009-05-17  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/txt.c First attempt to read back txt file.
It is amazingly ineffective, but it seems to work.</p></li>
</ul>
</blockquote>
<p>2009-05-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/resize.c (HorizontalFilter, VerticalFilter): When
resizing a non-opaque image, attenuate the influence of
surrounding colors based on their degree of transparency in order
to avoid &quot;halos&quot; around objects caused by colors which are
transparent and therefore not part of the visible image.  Patch
contributed by Pavel Merdin via SourceForge Tracker #2792322.
(VerticalFilter, VerticalFilter): Additional clean-up and
optimizations.</p></li>
</ul>
</blockquote>
<p>2009-05-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImage): Added a -recolor command option
to provide access to ColorMatrixImage().</p></li>
<li><p>magick/fx.c (ColorMatrixImage): New function to apply a color
matrix similar to Adobe Flash Flash.filters.colorMatrixFilter(),
and Windows GDI+ ColorMatrix class, (order up to 5x5) to the image
pixels.</p></li>
</ul>
</blockquote>
<p>2009-05-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/perl.rst: Add missing PerlMagick debug event types.</p></li>
<li><p>coders/pcl.c: Major improvements from John Sergeant.  These
include: 1) Fixed 2 bit output where Max=BLACK - this always
produced negative images even when -negate was passed as a
parameter. The code now uses a two element palette to handle this
situation.  2) Added support for 8 bit pseudoclass images.  3)
Changed the coder to allow adjoin, placing each sub-image on a new
page.  4) Added support for compression. Any compression other
than &quot;None&quot; will cause the coder to to try to calculate and pick
the best out of the PCL set of RLE, Tiff RLE or delta compression
on a per row basis, as well as handling repeated rows and zero
rows intelligently.</p></li>
</ul>
</blockquote>
<p>2009-05-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>utilities/Makefile.am (MAGICKPROGRAMS): Add a <cite>compare</cite>
ImageMagick compatibility link.</p></li>
<li><p>INSTALL-unix.txt: Apply patch regarding GnuWin32 from John Wye,
SourceForge #2779009.</p></li>
</ul>
</blockquote>
<p>2009-05-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Add the LDFLAGS option -Wl,-zlazyload when using
the Solaris linker.</p></li>
</ul>
</blockquote>
<p>2009-05-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/url.c (ReadURLImage): Fix typos.</p></li>
</ul>
</blockquote>
<p>2009-05-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/utility.c (SystemCommand): Added access confirmation
checks for external commands.</p></li>
<li><p>magick/unix_port.c (MagickSpawnVP): Added access confirmation
checks for external commands.</p></li>
<li><p>coders/url.c (ReadURLImage): Added access confirmation checks
for URLs.</p></li>
<li><p>magick/blob.c: Added access confirmation checks for files.</p></li>
<li><p>magick/confirm_access.c (MagickConfirmAccess): Added an access
confirmation facility to allow the API user to monitor and/or
block access to files and URLs.  This allows the API user to
implement a security policy based on actual accesses.</p></li>
</ul>
</blockquote>
<p>2009-05-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>png: Updated libpng to 1.2.35.</p></li>
<li><p>lcms: Updated lcms to 1.18a.</p></li>
</ul>
</blockquote>
<p>2009-05-01  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c (WriteOnePNGImage and WriteOneJNGImage): Changed
internal attribute png_bit_depth to png:bit-depth-written to avoid
confusion with planned new public png:bit-depth attribute.</p></li>
</ul>
</blockquote>
<p>2009-04-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/command.c (MogrifyImages): Deal slightly better with the
case when MogrifyImage() expands one image into several.  Still
don't know of a sane way to deal with -crop WIDTHxHEIGHT.</p></li>
<li><p>magick/transform.c (TransformImage): Image which is updated may
be a list so account for that.</p></li>
<li><p>configure.ac: Add a test for the <cite>restrict</cite> keyword so that
eventually we can use it.</p></li>
<li><p>coders/jpeg.c (ReadJPEGImage): Tidy JPEG reader by moving JPEG
properties analysis code into subroutines.</p></li>
</ul>
</blockquote>
<p>2009-04-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>doc/display.imdoc: Fix documentation for crop and chop keyboard
accelerators.  Fixes SourceForge bug #2593388 &quot;error in the
documentation/Keyboard accelarators&quot;.</p></li>
</ul>
</blockquote>
<p>2009-04-20  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Cosmetic-only, change <cite>True</cite> to <cite>MagickTrue</cite> or
<cite>MagickPass</cite> and <cite>False</cite> to <cite>MagickFalse</cite> or <cite>MagickFail</cite>.</p></li>
</ul>
</blockquote>
<p>2009-04-20  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Check error return from CompressColormapTransFirst()</p></li>
</ul>
</blockquote>
<p>2009-04-20  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Refrain from modifying image struct members
(matte, colors, depth) while writing a PNG.</p></li>
</ul>
</blockquote>
<p>2009-04-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>doc/options.imdoc: Document the direction of rotation.</p></li>
</ul>
</blockquote>
<p>2009-04-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/log.c (LogMagickEventList): Use MagickPackageName from
version.h rather than hard-coding <cite>GraphicsMagick</cite>.</p></li>
</ul>
</blockquote>
<p>2009-04-18  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/jpeg.c: Fixed a warning about <cite>shadowed</cite> variables.</p></li>
</ul>
</blockquote>
<p>2009-04-17  Glenn Randers-Pehrson &lt;<a class="reference external" href="mailto:glennrp&#37;&#52;&#48;simple&#46;&#46;&#46;&#46;">glennrp<span>&#64;</span>simple<span>&#46;</span><span>&#46;</span><span>&#46;</span><span>&#46;</span></a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c: Fixed some warnings about <cite>shadowed</cite> variables.</p></li>
</ul>
</blockquote>
<p>2009-04-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Add tests for some reentrant versions of functions
where we are still using the non-rentrant versions.</p></li>
<li><p>magick/composite.c (CompositeImage): Fix problem with
compositing images where the change image overlaps off the left
side of the canvas.  Should fix SourceForge issue #2766200 <cite>memory
allocation error when compositing small images</cite>.</p></li>
</ul>
</blockquote>
<p>2009-04-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/semaphore.c: Re-arrange ifdefs so that it is possible to
use pthreads under the WIN32 API.</p></li>
</ul>
</blockquote>
<p>2009-04-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/bit_stream.c: Bitstream functions were often not inlining
and inline functions which don't inline are not much use.
Bitstream functions are now normal library functions.</p></li>
</ul>
</blockquote>
<p>2009-03-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>VisualMagick/bin/delegates.mgk: Remove bounding box option (-g) from
Postscript delegate specifications.</p></li>
<li><p>config/delegates.mgk.in: Remove bounding box option (-g) from
Postscript delegate specifications.</p></li>
<li><p>coders/{ept.c, pdf.c, ps.c} : PDF bounding box is sometimes
incorrect or not globally applicable so don't specify bounding box
when reading PDF files.  Postscript files do need the bounding box
so make sure that it is still supplied.  Resolves SF tracker issue
2487651 <cite>convert from pdf chops off rhs</cite>.</p></li>
</ul>
</blockquote>
<p>2009-03-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/Magick++/Image.rst: Translate Image.html to reStructuredText
format for easier maintenance.</p></li>
</ul>
</blockquote>
<p>2009-03-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/rgb.c: Compute the quantum type rather than using a
recurring conditional statement.  It turns out that the -endian
option is working as it should.</p></li>
</ul>
</blockquote>
<p>2009-03-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/{gray.c, rgb.c, cymk.c}: Work toward supporting the
-endian option.  Not working properly yet.</p></li>
<li><p>magick/enum_strings.c (EndianTypeToString): New function.
(InterlaceTypeToString): New function.</p></li>
</ul>
</blockquote>
<p>2009-03-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/drawing_wand.c: Stripped out unused code.</p></li>
<li><p>www/wand: Added formatted Wand API documentation.</p></li>
<li><p>scripts/format_c_api_doc.py: Now supports --include-rst option.</p></li>
</ul>
</blockquote>
<p>2009-03-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/image.c (GetImageBoundingBox): If we fail to find a
smaller bounding box, then the returned bounding box is the entire
image.</p></li>
</ul>
</blockquote>
<p>2009-02-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>VisualMagick/magick/magick_config.h.in: Provide configuration
access to the DisableSlowOpenMP define.</p></li>
<li><p>PerlMagick/t/read.t: Add a test for HRZ Slow scan TV.</p></li>
<li><p>magick/pixel_cache.c (ModifyCache): Set image <cite>taint</cite> flag and
clear monochrome and grayscale flags when pixels are accessed
read/write rather than at sync.</p></li>
<li><p>coders/Makefile.am (MAGICK_CODER_SRCS): Add coders/hrz.c to
build.</p></li>
</ul>
</blockquote>
<p>2009-01-27  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/hrz.c: New HRZ reader for slow scan TV.</p></li>
</ul>
</blockquote>
<p>2009-02-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/resize.c (ResizeImage): Make error handling more robust.</p></li>
<li><p>magick/pixel_cache.c (SetNexus): Return a run-time error to
invoking code rather than exiting the program if the pixel staging
buffer fails to be allocated.</p></li>
</ul>
</blockquote>
<p>2009-02-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/tiff.c (ReadTIFFImage): Allow the user to force the
returned image to be TrueColor type for min-is-white and
min-is-black TIFF files.  Previous to this, bilevel TIFF files
were always returned as PseudoClass.</p></li>
</ul>
</blockquote>
<p>2009-01-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/pixel_cache.c, coders/pnm.c: Fix several race conditions
reported by Julian Seward.
(OpenCache): Restore conservative pre-allocation of pixel indexes
since a glitch was encountered that needs to be resolved.</p></li>
<li><p>magick/{channel.c,compare.c,constitute.c,decorate.c,effect.c,fx.c,
image.c,operator.c,pixel_iterator.c,render.c,resize.c,segment.c,
shear.c,transform.c}: Use explicit OpenMP critical sections to
avoid possible cross-contention.</p></li>
<li><p>coders/{dpx.c, pnm.c} Use explicit OpenMP critical sections to
avoid possible cross-contention.</p></li>
</ul>
</blockquote>
<p>2009-01-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/pixel_cache.c (OpenCache): Remove conservative
pre-allocation of pixel indexes.</p></li>
</ul>
</blockquote>
<p>2009-01-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/index.rst: Reduce the amount of text on the front page.</p></li>
</ul>
</blockquote>
<p>2009-01-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>GraphicsMagick.spec.in: The module .la files need to be
installed as part of the base install or else the modules will
fail to load.</p></li>
</ul>
</blockquote>
<p>2009-01-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/dib.c (ReadDIBImage): Fix assertion thrown for DIB files
with negative image height values.</p></li>
</ul>
</blockquote>
<p>2009-01-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/bmp.c (ReadBMPImage): Fix assertion thrown for BMP files
with negative image height values.  Resolves SF issue 2523536 <cite>bug
in bmp coder</cite>.</p></li>
<li><p>Makefile.am: Don't install Magick++ headers if Magick++ is
disabled.</p></li>
<li><p>GraphicsMagick.spec.in: --enable-lzw option is no longer used.</p></li>
</ul>
</blockquote>
<p>2009-01-17  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/fits.c: More robust fits parsing.</p></li>
</ul>
</blockquote>
<p>2009-01-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>NEWS.txt: Updated news.</p></li>
</ul>
</blockquote>
<p>2009-01-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/colorspace.c (XYZTransformPackets): Fix arithmetic
overflow problem noticed for Q32 build when using GCC on
big-endian systems.</p></li>
<li><p>magick/constitute.c: Update Richard Nolde's float 16 and 24
functions.</p></li>
<li><p>magick/command.c (VersionCommand): Print some build information
for MSVC builds.</p></li>
</ul>
</blockquote>
<p>2009-01-10  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/fits.c: Ability to skip unsupported multidimensional object.</p></li>
</ul>
</blockquote>
<p>2009-01-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/blob.c (GetBlobSize): It seems that under Windows, the
zip stream is not usable as a file handle.  Switch back to using
stat instead, but use _stati64 if available.</p></li>
</ul>
</blockquote>
<p>2009-01-04  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;seznam&#46;cz">JaFojtik<span>&#64;</span>seznam<span>&#46;</span>cz</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/fits.c: Fixed bug in scene count in extension block.</p></li>
<li><p>coders/fits.c: Supported logging.</p></li>
</ul>
</blockquote>
<p>2009-01-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>configure.ac: Produce sprintf scaling strings for
platform-specific types.</p></li>
<li><p>magick/magick_types.h.in: Include sprintf scaling strings for
platform-specific types.</p></li>
<li><p>magick/constitute.c (WriteImage): If output stream is not
seekable and coder needs to use seek, then divert output to
temporary file, and then send file to stream.</p></li>
<li><p>magick/blob.c (GetBlobSize): Simplify implementation.
(OpenBlob): Don't attempt to test header magic on file we are
writing.  Silly benign bug in obtuse code.</p></li>
<li><p>coders/tiff.c (ReadTIFFImage,WriteTIFFImage): Strip out use of
temporary file.  Use TIFFClientOpen() for writing.</p></li>
</ul>
</blockquote>
</main>


<hr class="docutils">
<div class="document">
    <p><a href="Copyright.html">Copyright</a> © GraphicsMagick Group 2002-2025<!--SPONSOR_LOGO--></p>
</div>

</main>
</body>
</html>
